/**
 * Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated
 * gzip压缩
 * https://github.com/anncwb/vite-plugin-compression
 */
import type {Plugin} from 'vite';
import compressPlugin from 'vite-plugin-compression';

export default function configCompressPlugin(
    compress: 'gzip' | 'brotli',
    deleteOriginFile = false
): Plugin | Plugin[] {
    const plugins: Plugin[] = [];

    if (compress === 'gzip') {
        plugins.push(
            compressPlugin({
                ext: '.gz',
                deleteOriginFile,
            })
        );
    }

    if (compress === 'brotli') {
        plugins.push(
            compressPlugin({
                ext: '.br',
                algorithm: 'brotliCompress',
                deleteOriginFile,
            })
        );
    }
    return plugins;
}
